package com.liuxinlong.modules.dao;

import com.liuxinlong.modules.entity.MaterialConvolution;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 物料成本卷积dao接口
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2023年5月16日
 */
public interface MaterialConvolutionDao extends IService<MaterialConvolution> {
    /**
     * 分页查询物料成本卷积列表
     *
     * @param queryParam 查询参数
     * @return 物料成本卷积列表
     */
    List<MaterialConvolution> pageConvolutionList(Map<String, Object> queryParam);

    /**
     * 根据查询条件统计物料成本卷积数量
     *
     * @param queryParam 查询参数
     * @return 物料成本卷积数量
     */
    int getConvolutionCount(Map<String, Object> queryParam);

    /**
     * 查询进行中的卷积记录数
     *
     * @param materialNo  物料号
     * @param region      域
     * @param operateUser 操作用户
     * @return 进行中的卷积记录数
     */
    int getOngoingConvolution(String materialNo, String region, String operateUser);

    /**
     * 查询当前卷积是否合法
     *
     * @param materialNo  物料号
     * @param region      域
     * @param operateUser 操作用户
     * @return 卷积记录数
     */
    int getIllegalConvolution(String materialNo, String region, String operateUser);
}
